﻿package com.addcn.common.data 
{
	/**
	 * 服務器信息配置類
	 * @author lmzd
	 */
	public class ServerInfo extends Object
	{
		/**
		 * 服務器端口
		 */
		private var _serverPort : int;
		/**
		 * 服務器ip
		 */
		private var _serverIp:String;
		
		/**
		 * 區名
		 */
		private var _zone : String;
		
		/**
		 * 
		 */
		private var _ext : Array = [];
		
		/**
		 * 本類的實例對象
		 */
		private static var _instance:ServerInfo;
		
		
		public function ServerInfo() 
		{
			if ( _instance != null ) {
				trace("serverInfo false");
			}
			return;
		}
		
		/**
		 * 初始化本類
		 * @return ServerInfo
		 */
		public static function getInstance():ServerInfo {
			if ( _instance == null ) {
				_instance = new ServerInfo();
			}
			return _instance;
		}
		
		/**
		 * 設置數據
		 * @param	r_data Array{ip:String, port:Int, zone:Sting, ext:Array}
		 */
		public function setInfo(r_data : Array) : void
		{
			this._serverIp = r_data[0];
			this._serverPort= r_data[1];
			this._zone= r_data[2];
			this._ext= r_data[3];
			
		}
		
		/**
		 * 獲取服務器ip
		 */		
		public function get serverIp():String {
			return _serverIp;
		}
		
		/**
		 * 獲取服務器端口
		 */		
		public function get serverPort():int {
			return _serverPort;
		}
		
		/**
		 * 獲取區域
		 */		
		public function get zone() : String
		{
			return _zone;
		}
		
		public function getExtList() : Array
		{
			return this._ext;
		}
		
		/**
		 * 獲取擴展
		 */
		public function getExt(r_index : int = 0 ) : String
		{			
			return this._ext[r_index];
		}
		
		
		
	}

}
